int surface_y;
int surface_w;
int surface_h;
+ double surface_scale;
/* may be null if not dirty */
cairo_region_t *surface_dirty;
cache->surface_w < view_rect->width ||
cache->surface_w > surface_w + ALLOW_LARGER_SIZE ||
cache->surface_h < view_rect->height ||
- cache->surface_h > surface_h + ALLOW_LARGER_SIZE))
+ cache->surface_h > surface_h + ALLOW_LARGER_SIZE ||
+ cache->surface_scale != gdk_window_get_scale_factor (window)))
{
cairo_surface_destroy (cache->surface);
cache->surface = NULL;
cache->surface_y = -canvas_rect->y;
cache->surface_w = surface_w;
cache->surface_h = surface_h;
+ cache->surface_scale = gdk_window_get_scale_factor (window);
cache->surface =
gdk_window_create_similar_surface (window, content,